"""
1. 监管者有红蝶，厂长，杰克等角色。
    1. 每个监管者有自己的名称。
    2. 每个监管都可以进行普通 beat()，
        每次普攻，如果击中求生者，求生者掉一半的血量。
    3. 每个监管都有自己的技能，而且每个监管者的技能都不一样
"""


class Regulator:
    def __init__(self, role, skill):
        self.role = role
        self.skill = skill

    def beat(self, survivors):
        print(f'求生者{survivors.name}被{self.role}普攻')
        survivors.b_beat()


class RedButterfly(Regulator):
    def vertigo(self, survivors):
        survivors.blood -= 10
        print(f'求生者{survivors.name}被{self.role}眩晕,剩余血量为{survivors.blood}')
        if survivors.blood <= 0:
            print('求生者已倒地')


class Factory(Regulator):
    def vertigo(self, survivors):
        survivors.blood -= 20
        print(f'求生者{survivors.name}被{self.role}用传火技能攻击,剩余血量为{survivors.blood}')
        if survivors.blood <= 0:
            print('求生者被传火技能攻击,已倒地')


class Jack(Regulator):
    def cold_mist(self, survivors):
        print(f'求生者{survivors.name}被冷却技能攻击')
        survivors.b_beat()



